1. Technical Field of the Invention
The invention relates generally to communication systems; and, more particularly, it relates to imbalance and distortion cancellation for one or more digital to analog (DACs) as may be implemented within various communication devices.
2. Description of Related Art
Data communication systems have been under continual development for many years. Generally speaking, a data communication system may be viewed as supporting the transmission of any of a variety of types of information (e.g., data, voice, media, etc.) from a first location to a second location within such a communication system. Communication systems are known to support wireless and wire lined communications between wireless and/or wire lined communication devices. Also generally speaking, within the context of communication systems that employ various types of communication devices, there is a first communication device at one end of a communication channel with encoder capability and second communication device at the other end of the communication channel with decoder capability. In many instances, one or both of these two communication devices includes encoder and decoder capability (e.g., within a bi-directional communication system). Transferring information from one location to another can be applied generally within any type of communication system, including those that employ some form of data storage (e.g., hard disk drive (HDD) applications and other memory storage devices) in which data is processed and/or encoded before writing to the storage media, and then the data is processed and/or decoded after being read/retrieved from the storage media.
Certain communication systems employ one or more of various types of coding (e.g., error correction codes (ECCs) whose decoding may be performed iteratively) to ensure that the data extracted from a signal received at one location of a communication channel is the same information that was originally transmitted from another location of the communication channel. Communications systems with iterative codes are often able to achieve lower bit error rates (BER) than alternative codes for a given signal to noise ratio (SNR). ECCs, and the application of ECCs, are sometimes alternatively referred to as Forward Error Correction (FEC) codes and coding. In modern systems, the terminology “FEC” can be applied to systems incorporating FEC but including partial or full re-transmission, perhaps with feedback from the receiver to the transmitter based upon decoding success, decoding lack of success, or partial decoding results (e.g., in accordance with U.S. Utility application Ser. No. 12/269,865, entitled “Method and system for digital video broadcast for cable (DVB-C2),”, which is incorporated by reference above).
In addition, any of a variety of types of communication systems may employ one or more of various types of signaling (e.g., orthogonal frequency division multiplexing (OFDM), orthogonal frequency division multiple access (OFDMA), code division multiple access (CDMA), synchronous code division multiple access (S-CDMA), time division multiple access (TDMA), etc.) to allow more than one user access to the communication system. Such signaling schemes may generally be referred to as multiple access signaling schemes.
In accordance with signals that are communicated within any of a variety of communication systems, within a transmitter communication device, digital signals typically undergo conversion to continuous time/analog signals for transmission or launching into one or more given communication channels. That is to say, one function that is oftentimes performed in accordance with transmitting a signal from one communication device to another is to perform conversion from the digital domain to the analog domain (e.g., using a digital to analog converter (DAC)). Such a continuous time/analog signal is oftentimes transmitted via a communication channel from one location to another (e.g., from one communication device to another, from one location to another location within a given communication device, etc.). Oftentimes, in accordance with performing such conversion from the digital domain to the analog domain, the conversion process may sometimes be performed less than perfectly (less than optimally) such that a digital signal may not sufficiently load the DAC.
For example, a digital codeword, when applied to a DAC for conversion to a corresponding analog signal, may underload the DAC such that an unacceptably low or insufficient power may be associated with the analog signal, or too low a signal to noise ratio (SNR) may be associated with the analog signal. And in even other situations, the conversion process may sometimes be performed less than perfectly such that a digital signal may overload a DAC. That is to say, a digital codeword, when applied to a DAC for conversion to a corresponding analog signal, may unfortunately extend beyond the linear and operable region of the DAC. In such situations, clipping and other nonlinear deleterious effects may be realized in accordance with the conversion from the digital domain to the analog domain. Even with near-optimal loading of a DAC, level errors in the DAC output (e.g., the analog output does not replicate precisely the relative numerical values attributed to the codewords input to the DAC) cause noise and harmonic and intermodulation distortion, as shown for example when one or two (or more) sinusoids are generated numerically and the DAC output is analyzed showing energy in the harmonic and intermodulation frequencies. Also contributing to the noise floor and nonlinear distortion in a DAC output are level-dependent differences in analog component values, including compression at excursions, sometimes not balanced or equal at positive and negative excursions. Phase noise or clock jitter in the DAC clocking signal also introduces distortion which can be characterized as intermodulation between the signal of interest (SOI) and the DAC clocking signal (including its phase noise or spurs).
In summary, the quantization of the numerically generated signals input to the DAC are a source of some nonlinear distortion, but level errors and nonlinear digital-word-value-to-analog-voltage-level transfer function also typically contributes additional nonlinear distortion, and level-dependent artifacts typically contribute additional significant nonlinear distortion, especially in DACs operating with high clocking frequencies. All of these nonlinear distortion mechanisms are typically contributing degradation, including nonlinear distortion characterized by generation of harmonics and intermodulation products, even without significant clipping from overloading. Overloading or underloading the DAC input typically exacerbates some or many of these nonlinear distortion mechanisms, including increasing the rate and/or amount of clipping distortion. Generally speaking, the prior art does not adequately provide for a means to address and overcome these and other deficiencies as may be experienced in accordance with digital to analog conversion within one or more DACs.
Within a communication device operative to receive a signal that has been transmitted via a communication channel, the corresponding reverse operation is performed in accordance with performing conversion from the analog to the digital domain (e.g., using an analog to digital converter (ADC)). That is to say, one function that is oftentimes performed when receiving a signal is to perform digital sampling thereof (e.g., using an ADC). When dealing with signals that may temporally vary across a relatively large dynamic range, performing such digital sampling can be problematic and incur certain deleterious effects such as undesirably low signal to noise ratios (SNRs) or undesirably large signal loading into the ADC. The prior art does not adequately provide for means to address and overcome these and other deficiencies as may be experienced in accordance with analog to digital conversion within one or more ADCs. In addition, it is noted that while the term and/or terminology of “codeword” is utilized in both error correction code (ECC) and digital to analog converter (DAC) related descriptions, the term and/or terminology of “codeword” has a different respective meaning for each respective application context (e.g., ECC vs. DAC related descriptions).